//@author A0096466N
//
// **********
//
// **********

#ifndef TASK_H
#define TASK_H

#include "ConstVariables.h"

class Task {

private:
	string _taskName;
	string _deadline;
	string _priority;
	string _time;
	string _modifiedTaskName;
	string _modifiedDeadline;
	string _modifiedPriority;
	string _modifiedTime;
	unsigned int _taskLine;
	string _status;
	string _modifiedStatus;

	// date in seconds is used so as to not bother the user about YEAR
	// also with this variable, comparing timings is simplified
	time_t _dateInSeconds;
	time_t _modifiedDateInSeconds;

public:
	Task(void);
	~Task(void);
	
	void changeTaskName(string);
	void changeDeadline(string);
	void changePriority(string);
	void changeTime(string);
	void changeTaskLine(int);
	void changeModifiedTaskName(string);
	void changeModifiedDeadline(string);
	void changeModifiedPriority(string);
	void changeModifiedTime(string);
	void changeStatus(string);
	void changeModifiedStatus(string);
	void changeDateInSeconds();
	void changeDateInSeconds(int);
	void changeModifiedDateInSeconds();
	void changeModifiedDateInSeconds(int);

	string getTaskName();
	string getDeadline();
	string getPriority();
	string getTime();
	int getTaskLine();
	string getModifiedTaskName();
	string getModifiedDeadline();
	string getModifiedPriority();
	string getModifiedTime();
	string getStatus();
	string getModifiedStatus();
	time_t getDateInSeconds();
	time_t getModifiedDateInSeconds();
};

#endif

